Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs.
2.
Time-sharing was developed in the late 1950s out of the realization that a single expensive computer could be efficiently utilized if a multitasking, multiprogramming operating system allowed multiple users simultaneous interactive access.
3.
In 1961, the B5000 had virtual memory, symmetric multiprocessing, a multiprogramming operating system ( Master Control Program ( MCP ) ), written in ALGOL 60, and the industry's first recursive-descent compilers as early as 1963.